package org.cskt.sl.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.cskt.sl.sys.entity.Power;
import org.cskt.sl.sys.example.PowerExample;

public interface PowerMapper {
	/**
	 * 查询权限的数量
	 * @param example
	 * @return
	 */
    int countByExample(@Param("example")PowerExample example);
    
    /**
     * 按条件批量删除权限
     * @param example
     * @return
     */
    int deleteByExample(@Param("example")PowerExample example);
    /**
     * 按 主键 删除权限
     * @param poid
     * @return
     */
    int deleteByPrimaryKey(Integer poid);
    
    /**
     *  新增权限
     * @param record
     * @return
     */
    int insert(Power record);

    /**
     * 根据字段非空 动态的 新增字段(考虑数据库字段非空性质)
     * @param record
     * @return
     */
    int insertSelective(Power record);
    
    /**
     * 按条件查询权限
     * @param poid
     * @return
     */
    List<Power> selectByExample(PowerExample example);

    /**
     * 更具主键查询对象
     * @param poid
     * @return
     */
    Power selectByPrimaryKey(Integer poid);

    /**
     * 根据条件批量更新权限信息(根据是否为空动态更新)
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") Power record, @Param("example") PowerExample example);

    /**
     * 根据条件批量更新权限信息(完全的更新)
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") Power record, @Param("example") PowerExample example);

    /**
     * 根据主键 更新单个权限信息(根据是否为空动态更新)
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Power record);
   /**
    * 按 主键 修改权限
    * @param record
    * @return
    */
    int updateByPrimaryKey(Power record);
}